From: Людмила Емельянова To:Sent: Thursday, November 09, 2000 11:32 PM Subject: MFCByStep Добрый день, Артем! Присоединяюсь ко всем, кто восторгается твоим сайтом. Можно тебя попросить рассказать о форматированном выводе текста в VC++. Например, нужно вывести текст Добрый день, Артем! Как твои дела? И хотелось бы вывести без использования циклов. Т.е. s=_T("Добрый день, Артем! \n \n Как твои дела? ") Однако, не выводит как надо. Если это очень простой вопрос, то подскажи по е-mail. Спасибо. Люда.
Один из удобных способов - это использование класса CString. У этого класса есть функция Format(), которая позволяет производить форматирование строк. Давайте посмотрим сразу пример. Этот код привязан к кнопке на диалоговой панели:
void CTest1Dlg::OnButton1()
{
CString s;
s="Добрый день, Артем! \n \n Как твои дела? ";
AfxMessageBox(s);
}
А вот и результат.

Как видите эта функция вообще не понадобилась, но все-таки что она умеет делать ???
void Format( LPCTSTR lpszFormat, // строка форматирования ...... // параметры );
Эта функция аналог printf() и соответственно все форматы для printf() здесь тоже работают. Давайте посмотрим:
void CTest1Dlg::OnButton1()
{
CString s;
double d;
d=2.3;
s.Format("%e %s",d,"Hello");
AfxMessageBox(s);
}
И это тоже сработает. Идея простая. Хотите форматировать сроки - используйте CString.Format() по правилам printf().